import { createStore } from 'vuex'
import axios from "../axios.js"
const store = createStore({
    state() {
        return {
            newslist: []
        }
    },
    mutations: {
        setnewslist(state, { data }) {
            state.newslist = data
        }
    },
    actions: {
        // 登录共用的login方法
        login({}, { username, password }) {
            return new Promise((res, rej) => {
                axios.post("api/user/login", {
                    username,
                    password
                }).then(({ data: { data, code, msg } }) => {
                    if (code == 200) {
                        res(data)
                    } else {
                        rej(msg)
                    }
                })
            })
        },
        getnewslist({ commit }) {
            axios.post("api/news/list", {}).then(({ data: { data, code, msg } }) => {
                if (code == 200) {
                    commit({
                        type: "setnewslist",
                        data
                    })
                } else {
                    alert(msg)

                }
            })
        },
        // 细节方面
        getDetail({}, { id }) {
            return new Promise((resolve, reject) => {
                axios.post("/api/news/get", {
                    id
                }).then(({ data: { data, code, msg } }) => {
                    if (code == 200) {
                        resolve(data)
                    } else {
                        reject(msg)
                    }
                })
            })
        },

    },


    modules: {}
})
export default store